﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using Sistema.Dominio.ValidationAttribute;
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
using System.Runtime.Serialization;
using System.ComponentModel;


namespace Sistema.Dominio
{
    
    public class ConfiguraEmailVO : EntidadeValidavel
    {
        private String _email;
        private String _senha;
        private String _smtp;
        private String _pop3;
        private String _imap;

        public ConfiguraEmailVO()
            :base(typeof(ConfiguraEmailVO))
        {
            _email = String.Empty;
            _senha = String.Empty;
            _smtp = String.Empty;
            _pop3 = String.Empty;
            _imap = String.Empty;
        }

        [Required(ErrorMessage="Campo E-mail Obrigatório;")]
        [EmailAttribute]
        public String Email
        {
            get { return _email; }
            set { _email = value; base.RaisePropertyChanged("Email"); }
        }
       
        [Required(ErrorMessage="Campo Senha Obrigatório.")]
        [Senha("Senha Inválida.")]
        public String Senha
        {
            get { return _senha; }
            set { _senha = value; base.RaisePropertyChanged("Senha"); }
        }

        
        [Required(ErrorMessage="Endereço do Servidor de SMTP obrigatório.")]
        public String SMTP
        {
            get { return _smtp; }
            set { _smtp = value; base.RaisePropertyChanged("SMTP"); }
        }

        public String POP3
        {
            get { return _pop3; }
            set { _pop3 = value; base.RaisePropertyChanged("POP3"); }
        }

        
        public String IMAP
        {
            get { return _imap; }
            set { _imap = value; base.RaisePropertyChanged("IMAP"); }
        }
    }
}
